/**
 * @file constants.js
 * @description 游戏常量定义
 */

// 插件名称和功能开关
export const PLUGIN_NAME = '狼人杀';
export const SELF_DESTRUCT_ENABLED = true; // 自爆功能开关
export const AUTO_MUTE_ENABLED = true; // 自动禁言功能开关

// 游戏角色定义
export const ROLES = {
    WEREWOLF: 'WEREWOLF',
    VILLAGER: 'VILLAGER',
    SEER: 'SEER',
    WITCH: 'WITCH',
    HUNTER: 'HUNTER',
    GUARD: 'GUARD',
    WOLF_KING: 'WOLF_KING',
    WHITE_WOLF_KING: 'WHITE_WOLF_KING',
    IDIOT: 'IDIOT',
};

// 玩家状态标签
export const TAGS = {
    GUARDED: 'GUARDED',                 // 被守护
    DYING: 'DYING',                     // 濒死状态 (被狼人刀或女巫毒)
    SAVED_BY_WITCH: 'SAVED_BY_WITCH',   // 被女巫解药救
    POISONED_BY_WITCH: 'POISONED_BY_WITCH', // 被女巫毒药毒
    REVEALED_IDIOT: 'REVEALED_IDIOT',   // 已翻牌的白痴
    WOLF_KING_CLAW_PENDING: 'WOLF_KING_CLAW_PENDING', // 狼王等待发动技能
    SHERIFF: 'SHERIFF',                 // 警长身份
};

// 警长相关配置
export const SHERIFF_CONFIG = {
    VOTE_WEIGHT: 1.5,                   // 警长投票权重（1.5票）
    ENABLED: true,                      // 警长功能开关
    MIN_PLAYERS: 6,                     // 启用警长的最小玩家数
};

// 遗言系统配置
export const LAST_WORDS_CONFIG = {
    ENABLED: true,                      // 遗言功能开关
    DURATION: 45 * 1000,                // 遗言时间（45秒）
    VOTE_DEATH_ONLY: true,              // 只有白天投票放逐才有遗言
};

// Redis存储键前缀
export const GAME_KEY_PREFIX = 'werewolf:game:';
export const USER_GROUP_KEY_PREFIX = 'werewolf:user_to_group:';
export const DEADLINE_KEY = 'werewolf:deadlines';
export const GAME_DATA_EXPIRATION = 6 * 60 * 60; // 6小时后自动过期

